home *** CD-ROM | disk | FTP | other *** search
- /*
-
- FlippyFloppyView.h
-
- Implements a wild and crazy text view.
-
- Try and do this with X! Hah!
-
- Copyright (c) 1992 by Scott Byer
-
- Permission is given to freely distribute and modify this code
- provided the copyright notice is left unchanged.
- No warranties, explicit or implied, apply to this code.
-
- */
-
- #import <appkit/View.h>
- #import "Thinker.h"
-
- // Constants
- #define TRUE 1
- #define FALSE 0
-
- #define MAX_TEXT_LINES 5
-
- typedef struct _t_TextBBox {
- double llx, lly, urx, ury;
- } TextBBox, *PTextBBox;
-
- typedef struct _t_TextStart {
- double x, y;
- } TextStart, *PTextStart;
-
- @interface FlippyFloppyView:View
- {
- /* Bounds of the screen. */
- double xmax, ymax;
-
- /* Overall control variable. */
- double hyperness;
-
- /* Old value of setcachelimit. */
- int cacheLimit;
-
- /* Speed variables. */
- double xspeed, yspeed, rotationspeed, xscalespeed, yscalespeed;
- double rspeed, gspeed, bspeed;
-
- /* Matrix variables */
- double x, y, rotation, xscale, yscale;
- double r, g, b;
-
- /* Text storage. */
- char *displayStrings[MAX_TEXT_LINES];
- TextStart startStrings[MAX_TEXT_LINES];
- int numLines;
- TextBBox stringsBBox;
-
- /* Tweak notification. */
- BOOL changed;
-
- /* Text font. */
- id textFont;
- id fontManager;
- id fontPanel;
-
- /* Inspector panel */
- id inspectorPanel;
- id hyperSlider;
- id hypernessField;
- id textPanel;
- id setFontButton;
- id fontNameDisplay;
- id flippyFloppyButton;
- }
-
- - initFrame:(NXRect *)frameRect;
- - initValues;
-
- - inspector: sender;
- - inspectorInstalled;
- - inspectorWillBeRemoved;
-
- - didLockFocus;
- - oneStep;
- - drawSelf:(const NXRect *)rects :(int)rectCount;
-
- - sizeTo:(NXCoord)width :(NXCoord)height;
- - newSize;
-
- - (BOOL)useBufferedWindow;
- - (const char *)windowTitle;
-
- - setHyperness: sender;
- - setFlippyText: sender;
- - setFloppyFont: sender;
- - somethingChanged;
-
- - changeFontFlippyFloppy: sender;
-
- - add:someone ToResponderListOf: whichWindow;
- - remove:someone FromResponderListOf: whichWindow;
-
- @end
-
-